public class Scheduler extends Object implements RunnerScheduler
ParentRunner.setScheduler(org.junit.runners.model.RunnerScheduler)
.
A new instance of scheduling strategy should be passed to the constructor of this scheduler.Modifier and Type | Class and Description |
---|---|
class |
Scheduler.ShutdownHandler
There is a way to shutdown the hierarchy of schedulers.
|
Constructor and Description |
---|
Scheduler(ConsoleLogger logger,
Description description,
Scheduler masterScheduler,
SchedulingStrategy strategy)
Should be used with individual pools on suites, classes and methods, see
ParallelComputerBuilder.useSeparatePools() . |
Scheduler(ConsoleLogger logger,
Description description,
Scheduler masterScheduler,
SchedulingStrategy strategy,
Balancer balancer)
Can be used by e.g.
|
Scheduler(ConsoleLogger logger,
Description description,
Scheduler masterScheduler,
SchedulingStrategy strategy,
int concurrency) |
Scheduler(ConsoleLogger logger,
Description description,
SchedulingStrategy strategy)
Use e.g.
|
Scheduler(ConsoleLogger logger,
Description description,
SchedulingStrategy strategy,
Balancer balancer)
New instances should be used by schedulers with limited concurrency by balancer
against other groups of schedulers.
|
Scheduler(ConsoleLogger logger,
Description description,
SchedulingStrategy strategy,
int concurrency)
Should be used if schedulers in parallel children and parent use one instance of bounded thread pool.
|
Modifier and Type | Method and Description |
---|---|
protected void |
afterExecute() |
protected void |
beforeExecute() |
protected ShutdownResult |
describeStopped(boolean stopNow)
Attempts to stop all actively executing tasks and immediately returns a collection
of descriptions of those tasks which have started prior to this call.
|
void |
finished() |
protected void |
logQuietly(String msg) |
protected void |
logQuietly(Throwable t) |
protected Scheduler.ShutdownHandler |
newShutdownHandler() |
void |
schedule(Runnable childStatement) |
protected boolean |
shutdownThreadPoolsAwaitingKilled() |
public Scheduler(ConsoleLogger logger, Description description, SchedulingStrategy strategy)
public Scheduler(ConsoleLogger logger, Description description, SchedulingStrategy strategy, int concurrency)
Scheduler(ConsoleLogger, org.junit.runner.Description, Scheduler, SchedulingStrategy)
or Scheduler(ConsoleLogger, org.junit.runner.Description, Scheduler, SchedulingStrategy, int)
.logger
- current logger implementationdescription
- description of current runnerstrategy
- scheduling strategy with a shared thread poolconcurrency
- determines maximum concurrent children scheduled a time via schedule(Runnable)
NullPointerException
- if null strategypublic Scheduler(ConsoleLogger logger, Description description, SchedulingStrategy strategy, Balancer balancer)
Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy, int)
which was
limiting the concurrency of children of a runner where this scheduler was set, this
balancer is limiting the concurrency of all children in runners having schedulers created by this
constructor.logger
- current logger implementationdescription
- description of current runnerstrategy
- scheduling strategy which may share threads with other strategybalancer
- determines maximum concurrent children scheduled a time via schedule(Runnable)
NullPointerException
- if null strategy or balancerpublic Scheduler(ConsoleLogger logger, Description description, Scheduler masterScheduler, SchedulingStrategy strategy, Balancer balancer)
logger
- current logger implementationdescription
- description of current runnermasterScheduler
- scheduler sharing own threads with this slavestrategy
- scheduling strategy for this schedulerbalancer
- determines maximum concurrent children scheduled a time via schedule(Runnable)
NullPointerException
- if null masterScheduler, strategy or balancerpublic Scheduler(ConsoleLogger logger, Description description, Scheduler masterScheduler, SchedulingStrategy strategy, int concurrency)
masterScheduler
- a reference to
Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy, int)
or Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy)
Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy)
,
Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy, int)
public Scheduler(ConsoleLogger logger, Description description, Scheduler masterScheduler, SchedulingStrategy strategy)
ParallelComputerBuilder.useSeparatePools()
.
Cached thread pool is infinite and can be always shared.protected void logQuietly(Throwable t)
protected void logQuietly(String msg)
protected ShutdownResult describeStopped(boolean stopNow)
register(Scheduler)
.
If shutdownNow is set, waiting methods will be interrupted via Thread.interrupt()
.stopNow
- if true interrupts waiting test methodsprotected boolean shutdownThreadPoolsAwaitingKilled()
protected void beforeExecute()
protected void afterExecute()
public void schedule(Runnable childStatement)
schedule
in interface RunnerScheduler
public void finished()
finished
in interface RunnerScheduler
protected Scheduler.ShutdownHandler newShutdownHandler()
Copyright © 2004–2015 The Apache Software Foundation. All rights reserved.